/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package skladowisko.generator;

import java.util.List;
import java.util.Random;
import skladowisko.Kontener;
import skladowisko.Pole;
import skladowisko.Skladowisko;
import skladowisko.Terminal;

/**
 *
 * @author kedziers
 */
public class RozmieszczaczLosowo  extends Rozmieszczacz{

    private int iloscSkl;
    Random r;


    @Override
    public void zapelnijTerminal(Terminal terminal, List<Kontener> kontenery)
    {
        this.iloscSkl = terminal.getSkladowiska().size();
        r = new Random();
        super.zapelnijTerminal(terminal, kontenery);
    }

    protected void nextLokalizacja()
     {
        Pole pole = lok.findPole(terminal);
        nextPole();            
    }

    private void nextPole()
    {
           Pole p = losujPole();

            if(p.getZawartoscPola().isPelne())
            {
                nextLokalizacja();
                return;
            }
          
           lok.skladowiskoID = p.getSkladowisko().getId();
           lok.X = p.getX();
           lok.Y = p.getY();
           lok.W = p.getZawartoscPola().getPierwszaWolna();

    }

    private Skladowisko losujSkladowisko()
    {
        return terminal.getSkladowiska().get(r.nextInt(iloscSkl));
    }

    private Pole losujPole()
    {
        Skladowisko s = losujSkladowisko();
        return s.getPole(r.nextInt(s.getKolumny())+1, r.nextInt(s.getRzedy())+1);
    }

   

}
